筆者發現有些好用的知識或技能無法寫成一篇文章, 所以只好寫一篇萬用百寶袋以囊括, 各種主題如下:
[正文開始]
WebREPL daemon started on ws://192.168.4.1:8266
Started webrepl in normal mode
OSError: [Errno 2] ENOENT
[秘訣] MicroPython 會在重新開啟後自動讀取 main.py 檔案, 目前還沒有上傳這個檔案,所以會出現這個錯誤資訊, 請忽略即可
import esp
esp.osdebug(None)
[秘訣]
(1) MicroPython 中提供自帶的debug 模式, 只要在開啟後就會顯示更多執行細節在螢幕上
(2) 請將上面的程式碼加在main.py 最上面或boot.py 裡頭
(3) 關閉的話, 就直接在esp.osdebug(None) 前面加一個**#**字號即可
import network
nic = network.WLAN(network.AP_IF)
nic.active(True)
nic.config('essid')
'MicroPython-262ca5'
* 最後一排是AP名稱, - 後面的位置是依照MAC address而定, 每個都不同
(2) 修改ESSID 為 m26 並指定channel 為6
nic.config(essid=**m26**, channel=**6**)
#6 ets_task(4020f4ac 29, 3fff9640, 10)
[秘訣] 當輸入新的設定後, MicroPython 將自動重啟自帶的AP 並使用新的ESSID跟channel
(3) 查看修改後的ESSID名稱及channel
nic.config('essid')
'm26'
nic.config('channel')
6
>>> nic.scan()
(b'AC66', b'0Z:Q\xb4H', 6, -24, 3, 0)
wget http://micropython.org/resources/firmware/esp8266-ota-20180718-v1.9.4-272-g46091b8a.bin
(2) 下載OTA更新需要使用的 ota-client toolchain
git clone https://github.com/pfalcon/yaota8266.git
[秘訣] 筆者在嘗試OTA更新後發現, 不管哪種作法都非常複雜且不穩定, 不建議實作, 但如果喜愛挑戰的朋友還是可以參考以下文章進行實作:
MicroPython OTA update Part 1
MicroPython OTA update Part 2
./mpy-cross uping.py
(5) 編譯好後就會在目錄上看到 uping.mpy 文件
[秘訣]
(1) 當把自定義的程式放入modules目錄後, 在編譯過程中就會自動生成mpy文件, 不過mpy文件並不是變小, 就只是被加密過的文件而已.
(2) mpy-cross 需要原本開發環境中的xtensi-lx106-elf-xx 編譯器, 如果發現找不到命令的話, 請記得要把下面的路徑加入PATH中
/opt/micropython/esp-open-sdk/xtensa-lx106-elf/bin
* 筆者將micropython放在/opt目錄中